package com.cw.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author ly
 * @since 2021-12-13
 */
@ApiModel(value = "")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("APPLICATION_BED")
public class ApplicationBed implements Serializable {

    private static final long serialVersionUID = 1L;
    @ExcelIgnore
    @ApiModelProperty(value = "预约记录ID号，做主键")
    @TableId("PREID")
    private BigDecimal preid;

    @ApiModelProperty(value = "是否跨病区 0:不是  1:是")
    @ExcelProperty(value = "是否跨病区",index = 6)
    @ColumnWidth(20)
    @TableField("IS_CROSS_NURSE")
    private String isCrossNurse;

    @ApiModelProperty(value = "申请病区编号")
    @ExcelProperty(value = "APPLICATION_NURSE_CODE")
    @TableField("APPLICATION_NURSE_CODE")
    private String applicationNurseCode;

    @ApiModelProperty(value = "申请床号")
    @ExcelProperty(value = "申请床号")
    @TableField("APPLICATION_BEDNO")
    private String applicationBedno;

    @ApiModelProperty(value = "预计入院日期")
    @ExcelProperty(value = "E_INSTATE_DATE")
    @TableField("E_INSTATE_DATE")
    private String eInstateDate;

    @ApiModelProperty(value = "创建人")
    @ExcelProperty(value = "申请医生",index = 4)
    @ColumnWidth(15)
    @TableField("CREATE_BY")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @ExcelProperty(value = "登记时间",index = 0)

    @ColumnWidth(30)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE)
    @TableField("CREATE_TIME")
    private String createTime;


    @ApiModelProperty(value = "核酸日期")
    @ExcelProperty(value = "核酸日期",index = 8)
    @ColumnWidth(20)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField("CREATE_TIME")
    private String nucleicacid;

    @ApiModelProperty(value = "申请病区名称")
    @ExcelProperty(value = "APPLICATION_NURSE_NAME")
    @TableField("APPLICATION_NURSE_NAME")
    private String applicationNurseName;

    @ApiModelProperty(value = "是否已通知:0:未通知,1:已通知")
    @ExcelProperty(value = "IS_NOTICE")
    @TableField("IS_NOTICE")
    private String isNotice;

    @ApiModelProperty(value = "是否已处理:0:未处理,1:已处理")
    @ExcelProperty(value = "IS_HANDLE")
    @TableField("IS_HANDLE")
    private String isHandle;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注",index = 9)
    @ColumnWidth(20)
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "修改人")
    @ExcelProperty(value = "UPDATE_BY")
    @TableField("UPDATE_BY")
    private String updateBy;

    @ApiModelProperty(value = "修改时间")
    @ExcelProperty(value = "UPDATE_TIME")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE)
    @TableField("UPDATE_TIME")
    private String updateTime;

    @ApiModelProperty(value = "显示状态,1为显示，0未显示")
    @ExcelProperty(value = "患者状态",index = 11)
    @ColumnWidth(25)
    @TableField("ROOT_STATE")
    private  String rootState;

    @ExcelProperty(value = "姓名",index = 1)
    @TableField(exist = false)
    @ApiModelProperty(value = "姓名")
    private  String name;

    @TableField(exist = false)
    @ApiModelProperty(value = "size")
    private  Integer PageSize;

    @TableField(exist = false)
    @ApiModelProperty(value = "index")
    private  Integer PageIndex;

    @TableField(exist = false)
    @ApiModelProperty("起始时间")
    private String startTime;

    @TableField(exist = false)
    @ApiModelProperty("结束时间")
    private String endTime;

    @ApiModelProperty("工号")
    private  String jobNumber;

    @ApiModelProperty("身份证号")
    private  String idenno;

    @ExcelProperty(value = "性别",index = 2)
    @ApiModelProperty("性别")
    @TableField(exist = false)
    private  String sex;

    @ExcelProperty(value = "拟入院科室",index = 3)
    @ColumnWidth(20)
    @TableField(exist = false)
    private String deptName;

    @ExcelProperty(value = "入院诊断",index = 5)
    @ColumnWidth(30)
    @TableField(exist = false)
    private String diagName;


    @ExcelProperty(value = "床位号",index = 7)
    @ColumnWidth(15)
    @TableField(exist = false)
    private String bedNo;

    @TableField(exist = false)
    @ExcelProperty(value = "状态备注",index = 10)
    @ColumnWidth(20)
    private String tipreMark;

    @TableField(exist = false)
    @ApiModelProperty("所属院区，1三香，2浒关")
    private String yard;

    @TableField(exist = false)
    @ApiModelProperty("科室传参")
    private String deptCode;

    @TableField(exist = false)
    @ApiModelProperty("预检分级")
    private String registeCode;
}
